﻿using System;
using AccessControl.Data;
using System.Collections.Generic;
using AccessControl.Wpf.Messaging;
using AccessControl.Wpf.Popuping;

namespace AccessControl.Wpf.ViewModels
{
	abstract class ViewModel : NotifyPropertyChangedBase
	{
		#region Fields

		private string _Name;
		private IPopupService _PopupService;
		private IMessagingService _MessagingService;

		#endregion

		#region Public Properties

		public string Name
		{
			get { return _Name; }
			set
			{
				if (_Name != value)
				{
					_Name = value;
					NotifyPropertyChanged("Name");
				}
			}
		}

		public IMessagingService MessagingService
		{
			get { return _MessagingService; }
			set
			{
				if (_MessagingService != value)
				{
					_MessagingService = value;
					NotifyPropertyChanged("MessagingService");
				}
			}
		}

		public IPopupService PopupService
		{
			get { return _PopupService; }
			set
			{
				if (_PopupService != value)
				{
					_PopupService = value;
					NotifyPropertyChanged("PopupService");
				}
			}
		}
		
		

		#endregion
	}
}
